POV-Ray : Newsgroups : povray.general : Interior for bicubic_patches ? : Re: Interior for bicubic_patches ? Server Time
2 Aug 2024 02:19:28 EDT (-0400)
  Re: Interior for bicubic_patches ?  
From: Warp
Date: 31 Jan 2005 10:50:17
Message: <41fe53b9@news.povray.org>
Marc Jacquier <jac### [at] wanadoofr> wrote:
> I think so... BTW I never got that inside_vector idea... is it coordinates
> of a point inside the mesh?

  It's any random (non-zero) vector you like. Usually it makes no difference.
That vector is just a direction vector, nothing else.

  What POV-Ray does is that when it has to determine whether a point is
inside the mesh or not (this is an operation needed in some of the CSG
calculations), it just shoots a ray from that point to that specified
direction and counts how many triangles of the mesh it hits. If it hits
an odd number of triangles it assumes the point is inside the mesh, else
outside.

  POV-Ray could just have a 'make_this_mesh_solid' keyword without
parameters and it could then internally just create some random vector.
  However, the idea with giving the user the possibility to specify the
direction vector is that there may be some pathological cases where the
vector could have exactly the same direction as a triangle tangent, or
it could pathologically hit tons of mesh edges (which will cause a
jittered result because of the inaccurate nature of floating point,
as happens with the infamous coincident-surface problem).
  That is, if you are getting some random noise in your CSG of a mesh
and another object (something very improbable, but theoretically
possible), you can try changing the direction of the inside_vector
a bit to see if it helps.

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.